package com.lcj.bff.customer.service;

import com.lcj.bff.customer.controller.form.CreateNewOrderForm;
import com.lcj.bff.customer.controller.form.CustomerIdForm;
import com.lcj.bff.customer.controller.form.SearchCustomerOrderByPageForm;
import com.lcj.bff.customer.controller.form.SearchOrderForm;
import com.lcj.common.util.PageUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * 订单Service
 */
public interface OrderService {

    /**
     * 查询订单和账单信息
     * @param form
     * @return
     */
    HashMap searchOrderById(SearchOrderForm form);

    /**
     * 创建订单
     * @param form
     * @return int
     */
    public Map createNewOrder(CreateNewOrderForm form);

    public Integer searchOrderStatus(SearchOrderForm form);

    public String deleteUnAcceptOrder(SearchOrderForm form);

    public HashMap hasCustomerCurrentOrder(CustomerIdForm form);

    HashMap searchOrderForMoveById(SearchOrderForm form);

    boolean confirmArriveStartPlace(SearchOrderForm form);

    /**
     * 创建微信支付订单
     * @param orderId
     * @param customerId
     * @param voucherId
     * @return
     */
    public HashMap createWxPayment(long orderId, long customerId, Long customerVoucherId, Long voucherId);

    /**
     * 分页查询订单和评价
     * @param form
     * @return
     */
    PageUtils searchCustomerOrderByPage(SearchCustomerOrderByPageForm form);
}